SPSS 缺失值函数
作者:Ruben Geert van den Berg,发布于 SPSS Blog
真实世界的数据通常包含一些(甚至很多)缺失值。检查缺失值的数量总是一个好主意,以避免之后出现不愉快的意外。为了做到这一点,SPSS 提供了一些缺失值函数,这些函数主要与 COMPUTE、IF 和 DO IF 命令一起使用。本教程演示了如何有效地使用它们。我们将使用 hospital.sav 中的最后 5 个变量来进行演示。
设置用户缺失值 (User Missing Values)
在讨论 SPSS 缺失值函数之前,我们首先将最后 5 个变量的 6 设置为用户缺失值,通过运行以下 语法 行。
missing values doctor_rating to facilities_rating (6).
SPSS 缺失值函数
表达式 (Expression) | 含义 (Meaning) | 返回值 (Returns) |
---|---|---|
MISSING | 评估值是否为系统缺失 (System Missing) 或用户缺失 (User Missing) | True (真) 或 False (假) |
SYSMIS | 评估值是否为系统缺失 (System Missing) | True (真) 或 False (假) |
NMISS | 返回变量中缺失值的数量 | 数值 (Numeric Value) |
NVALID | 返回变量中有效值的数量 | 数值 (Numeric Value) |
SPSS MISSING 函数
SPSS MISSING 函数评估一个值是否缺失(无论是用户缺失值 还是系统缺失值)。例如,我们将标记在 doctor_rating
上有缺失值的个案,使用以下语法。如果 COMPUTE 命令让您感到困惑,请参阅 Compute A = B = C 获取解释。
***1. 标记在 doctor_rating 上有缺失值的个案。
**
compute mis_1 = missing(doctor_rating).
***2. 将标记的个案移动到文件顶部。
**
sort cases mis_1 (d).
SPSS SYSMIS 函数
SPSS SYSMIS 函数评估一个值是否为系统缺失 (System Missing)。例如,以下语法使用 IF 将所有系统缺失值替换为 99。然后我们将标记它,将其指定为用户缺失值,并使用 FREQUENCIES 进行快速检查。
***1. 将系统缺失值更改为 99。
**
if sysmis(doctor_rating) doctor_rating = 99.
***2. 添加值标签 99。
**
add value labels doctor_rating 99 'Recoded system missing value'.
***3. 将 6 和 99 指定为用户缺失值。
**
missing values doctor_rating (6,99).
***4. 快速检查。
**
frequencies doctor_rating.
SPSS NMISS 函数
SPSS NMISS 函数计算个案中变量的缺失值数量。具有许多缺失值的个案可能存在问题,您可能希望使用 FILTER 或 SELECT IF 将它们从分析中排除。该语法运行快速扫描以查找此类个案。
***1. 计算指示每个案例缺失值的变量。
**
compute mis_2 = nmiss(doctor_rating to facilities_rating).
***2. 应用变量标签 (Variable Label)。提示:在此处指示涉及的变量数量。
**
variable labels mis_2 'Number of missing values over doctor_rating to facilities_rating (5 variables)'.
***3. 快速检查。
**
frequencies mis_2.
SPSS NVALID 函数
SPSS NVALID 函数计算变量上的有效值的数量。它等效于变量的数量减去这些变量的 NMISS。请注意,点运算符 (dot operator) 是一种更快的替代方法,用于从统计函数(例如 MEAN 和 SUM)中排除个案。
***计算 doctor_rating 到 facilities_rating 的有效值 (5 个变量)。
**
compute valid_1 = nvalid(doctor_rating to facilities_rating).
exe.